PNE

Platform for Network Equipment (PNE),是Wind River公司提供的一套为网络设备进行开发的平台,它不仅为网络设备提供了基本功能的实现方式,还具有很高的稳定性和安全性。

数据包收发过程

RIP报文是一种UDP报文。设备根据一定规则(定期更新或者触发更新)将自身的路由表加入RIP报文中,然后转发给相应的设备。

RIP模块是通过socket来收发数据包的,通过socket收到的数据包是不包含Vlan信息的。但是有些时候需要对一些数据包进行过滤,此时需要用到Vlan的信息,所以在实现的RIP模块的时候,对收到的数据包先用自定义的tppacket回调函数处理,如果数据包通过过滤,又通过socket来处理该数据包,如果没有满足通过条件,则将其释放,此时socket不会收到任何报文。

三层交换机的工作原理

使用IP的设备A与使用IP的设备B通过一台三层交换机连接在一起。

比如A要给B发送数据,已知目的IP,那么A就用子网掩码取得网络地址,判断目的IP是否与自己在同一网段。

如果在同一网段,但不知道转发数据所需的MAC地址,A就发送一个ARP请求,B返回其MAC地址,A用此MAC封装数据包并发送给交换机,交换机起用二层交换模块,查找MAC地址表,将数据包转发到相应的端口。

如果目的IP地址显示不是同一网段的,那么A要实现和B的通讯,在流缓存条目中没有对应MAC地址条目,就将第一个正常数据包发送向一个缺省网关,这个缺省网关一般在操作系统中已经设好,对应第三层路由模块,所以可见对于不是同一子网的数据,最先在MAC表中放的是缺省网关的MAC地址;然后就由三层模块接收到此数据包,查询路由表以确定到达B的路由,将构造一个新的帧头,其中以缺省网关的MAC地址为源MAC地址,以主机B的MAC地址为目的MAC地址。通过一定的识别触发机制,确立主机A与B的MAC地址及转发端口的对应关系,并记录进缓存条目表,以后的A到B的数据,就直接交由二层交换模块完成。这就通常所说的一次路由多次转发。